prisma X mongodb
README
이 문서는 Prisma ORM으로 Mongodb 사용하는 방법과 다른 릴레이션 DB들과의 차이점과 연관관계 생성을 위한 방법을 리서치하기 위해 만들어졌습니다.
Differences to consider
_id
필드는@map("_id")
가 필수다. PSL 모델의 필드는_
로 시작할 수 없기 때문이다.- mongodb는 마이그레이션이 필요가 없다. 스키마가 없기 때문에 마이그레이션시 더 신중해야 한다. How to migrate existing data to match your prisma schema
- 정의가 안된 필드와
null
필드는 다르다. 필터링 할 때 주의를 요한다. How to filter for null and missing fields ⇒isSet
필터를 사용하여 없는 필드도 검색할 수 있게 하라. - prisma는 내부적으로 mongodb transaction을 사용한다. 트랜잭션을 사용할때 mongodb는 레플리케이션을 필요로 한다. 따라서 본인의 mongodb 서버에 레플리카 셋을 세팅하여야 한다. deploying a replica set in mongodb
@@id
애트리뷰트 지원하지 않는다. (복합키) 그 이유는 모든 다큐먼트들엔_id
ObjectId가 존재하기 때문.